home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / prtcs155.zip / CARRIER.REX < prev    next >
OS/2 REXX Batch file  |  1994-01-14  |  2KB  |  55 lines

  1. /**/
  2. v='$VER: Carrier Rexx Watch Carrier for Doors Williamson 55.03'
  3. options results
  4. script='Carrier'
  5. log=show('p','ROOFLOG')
  6. logport=lower(GetClip('SHELTER'))||'wpl'
  7. parse arg port session
  8. session=strip(session)
  9.  
  10.     do i=1 to 120
  11.         Address COMMAND 'SetEnv DOOR'||port '`status com='session'`'
  12.         task=GetVar('DOOR'||port,'G')
  13.         if task="" | task='TASK' then call delay(50)
  14.             else leave
  15.     end
  16.     if task="" | task='TASK' then do
  17.         call PutLog('DOOR 'session' did not start',10,10)
  18.         exit
  19.     end
  20.     call PutLog('Watching carrier on 'port' for Task:'task session,10,10)
  21.  
  22.     Address VALUE port
  23.     do forever
  24.         call delay(50)
  25.         'String $(door)'
  26.         if upper(RESULT)="FALSE" then do
  27.             call PutLog('Door 'session 'Task:'task 'not active',10,10)
  28.             exit 
  29.         end
  30.         'CheckCarrier'
  31.         if RC~=0 then iterate 
  32. /*        if RESULT~=0 then iterate */
  33.         else do
  34.             call PutLog('Carrier lost RC:'RC 'during DOOR 'session),10,10)
  35.             call PutLog('Sending BREAK to DOOR task:'task,10,10)
  36.             address COMMAND "BREAK" task "C"
  37.             exit
  38.         end
  39.     end
  40.     call PutLog('Exiting',10,10)
  41. exit
  42.  
  43. PutLog:  procedure expose log logport port script
  44.     if log then do
  45.         if arg(3) < GetClip('STATUSLEVEL') then say arg(1)
  46.         if arg(2) > GetClip('LOGLEVEL') then return 0
  47.         address 'ROOFLOG' 'LOGLINE' left(time(),5) script': 'arg(1)
  48.     end;else do
  49.         address LOGPROC 'PutLog "'logport time() right(port,1) script':'arg(1)'"'
  50.     end
  51. return 0
  52.  
  53. lower:
  54. return(bitor(arg(1),'20'x))
  55.